
// express  => node中的第三方模块 => 可以通过此模块快速搭建服务器

// 第三方模块如何使用
// 1. 先下载
// cnpm install express  --save

// 2. 在引入使用
// var express = require("express");


var express = require("express");
// console.log(express);
var app = express();  //创建一个服务 

var path = require("path");

// 下载body-parser multer 中间件(生产依赖)  => 可以解析前端以post方式传递的各种格式数据
// cnpm install body-parser --save
// cnpm install multer --save

var bodyParser = require("body-parser"); //解析  application/json  application/x-www-urlencoded

var multer = require("multer");  // Multer 是一个 node.js 中间件，用于处理 multipart/form-data 类型的表单数据，它主要用于上传文件。 详情见https://github.com/expressjs/multer/blob/master/doc/README-zh-cn.md (一般用于做文件上传)

multer({ dest: "/upload" });  // for parsing multipart/form-data    //用于解析multipart/form-data

app.use(bodyParser.json());   // for parsing application/json   //用于解析application/json
app.use(bodyParser.urlencoded({ extended: true })); //用于解析application/x-www-urlencoded



// 配置站点
app.use(express.static(path.join(__dirname, "../site")));

// app.use()  中间件
// 1. 每次客户端发送请求到服务端 会依次经过每一个中间件(前提响应没有结束)
// 2. 对指定路由进行拦截 -> 执行对应的中间件函数


// 配置路由
var IndexRouter = require("./router/index.js"); // 引入路由配置
var UserRouter = require("./router/user.js");
var GoodsRouter = require("./router/goods.js");
var CarRouter = require("./router/car.js");

//    /   +   /           =>  /         根路由
//            /hello          /hello    一级路由
app.use("/", IndexRouter);
app.use("/user", UserRouter);
app.use("/goods", GoodsRouter);
app.use("/car", CarRouter);


app.listen(5000, function () {
    console.log("server is started at localhost:5000");
})




